from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能

# 以下所有技能数据只录入背击时数据


class 技能0(主动技能):
    名称 = '影袭'
    所在等级 = 5
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [15, 168]
    data0 = [int(i*1.051) for i in [0, 1104, 1275, 1442, 1618, 1788, 1963, 2126, 2303, 2472, 2642, 2814, 2986, 3160, 3328, 3499, 3673, 3845, 4015, 4181, 4357, 4526, 4696, 4870, 5042, 5214, 5383, 5555, 5731, 5898, 6069, 6236, 6406, 6581, 6752,
                                    6924, 7092, 7268, 7438, 7610, 7778, 7954, 8123, 8289, 8462, 8636, 8807, 8978, 9148, 9323, 9494, 9664, 9836, 10008, 10174, 10345, 10517, 10692, 10860, 11034, 11205, 11372, 11548, 11718, 11891, 12056, 12231, 12401, 12572, 12740, 12916]]
    hit0 = 1
    CD = 9
    TP成长 = 0.10
    TP上限 = 7


class 技能1(主动技能):
    名称 = '天诛'
    备注 = '背击'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [28, 308]
    data0 = [int(i*1.058) for i in [0, 613, 688, 767, 840, 914, 986, 1061, 1137, 1211, 1283, 1360, 1433, 1510, 1585, 1654, 1734, 1807, 1876, 1955, 2027, 2103, 2177, 2252, 2328, 2398, 2471, 2551, 2621, 2697, 2772, 2845, 2921, 2994,
                                    3068, 3143, 3219, 3294, 3365, 3439, 3517, 3588, 3666, 3738, 3809, 3889, 3963, 4033, 4108, 4182, 4261, 4333, 4406, 4482, 4556, 4629, 4704, 4775, 4855, 4930, 5000, 5076, 5150, 5228, 5299, 5372, 5448, 5519, 5594, 5673, 5744]]
    hit0 = 0
    data1 = [int(i*1.058) for i in [0, 2568, 2879, 3190, 3502, 3804, 4118, 4426, 4740, 5047, 5359, 5664, 5977, 6287, 6594, 6905, 7216, 7526, 7837, 8140, 8454, 8762, 9078, 9382, 9695, 10002, 10316, 10623, 10932, 11243, 11555, 11868, 12170, 12485, 12792, 13106,
                                    13413, 13723, 14030, 14342, 14653, 14963, 15270, 15585, 15891, 16203, 16510, 16821, 17131, 17439, 17749, 18061, 18370, 18682, 18988, 19300, 19611, 19922, 20224, 20538, 20850, 21160, 21472, 21777, 22089, 22400, 22712, 23014, 23328, 23636, 23951]]
    hit1 = 1
    power1 = 1.1
    CD = 7
    TP成长 = 0.10
    TP上限 = 7

    形态 = ["非抓", "抓取"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "非抓":
            self.hit0 = 0
            self.hit1 = 1
            self.power1 = 1.1
        if 形态 == "抓取":
            self.hit0 = 2
            self.hit1 = 1


class 技能2(主动技能):
    名称 = '割喉'
    备注 = '背击'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [30, 252]
    data0 = [int(i*1.053) for i in [0, 2154, 2373, 2591, 2812, 3031, 3247, 3469, 3683, 3905, 4125, 4341, 4560, 4780, 4998, 5216, 5434, 5655, 5875, 6091, 6309, 6528, 6746, 6966, 7188, 7405, 7623, 7839, 8063, 8282, 8496, 8716, 8936, 9154, 9374, 9589,
                                    9807, 10029, 10247, 10467, 10682, 10903, 11122, 11344, 11560, 11778, 11996, 12217, 12436, 12654, 12873, 13090, 13310, 13530, 13750, 13965, 14185, 14403, 14622, 14839, 15060, 15278, 15496, 15719, 15933, 16151, 16371, 16591, 16812, 17026, 17244]]
    hit0 = 1
    data1 = [int(i*1.053) for i in [0, 1077, 1187, 1297, 1407, 1517, 1625, 1732, 1843, 1954, 2061, 2170, 2281, 2390, 2499, 2609, 2718, 2825, 2936, 3047, 3153, 3262, 3374, 3484, 3592, 3702, 3810, 3920, 4029, 4142, 4248, 4357, 4467,
                                    4577, 4687, 4797, 4906, 5015, 5124, 5235, 5341, 5454, 5559, 5671, 5782, 5889, 5997, 6106, 6217, 6328, 6435, 6546, 6654, 6764, 6875, 6983, 7093, 7203, 7312, 7419, 7532, 7639, 7748, 7857, 7968, 8076, 8187, 8294, 8404, 8514, 8623]]
    hit1 = 1
    CD = 6
    TP成长 = 0.1
    TP上限 = 7


class 技能3(被动技能):
    名称 = '暗杀教义'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 1

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.185 + 0.015 * self.等级, 5)


class 技能4(主动技能):
    名称 = '夺魂'
    备注 = '背击'
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [40, 292]
    data0 = [int(i*1.052) for i in [0, 2042, 2250, 2457, 2665, 2872, 3079, 3286, 3493, 3703, 3911, 4115, 4322, 4532, 4737, 4944, 5154, 5359, 5568, 5775, 5980, 6190, 6398, 6602, 6811, 7020, 7223, 7433, 7640, 7847, 8055, 8263, 8472, 8677, 8884, 9092,
                                    9298, 9507, 9715, 9920, 10127, 10337, 10543, 10750, 10959, 11164, 11372, 11580, 11786, 11994, 12202, 12407, 12617, 12824, 13029, 13237, 13445, 13652, 13860, 14065, 14271, 14481, 14688, 14898, 15106, 15312, 15520, 15724, 15932, 16142, 16349]]
    hit0 = 1
    CD = 3
    TP成长 = 0.1
    TP上限 = 7


class 技能5(被动技能):
    名称 = '暗杀之匕首精通'
    所在等级 = 20
    等级上限 = 30
    基础等级 = 20

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            if self.等级 <= 20:
                return round(1.0 + 0.015 * self.等级, 5)
            else:
                return round(1.3 + 0.025 * (self.等级 - 20), 5)


class 技能6(主动技能):
    名称 = '穿心'
    备注 = '背击'
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [30, 500]
    data0 = [int(i*1.054) for i in [0, 3413, 3759, 4108, 4455, 4801, 5149, 5492, 5839, 6186, 6532, 6880, 7226, 7571, 7916, 8265, 8610, 8958, 9302, 9648, 10003, 10345, 10692, 11037, 11385, 11730, 12077, 12421, 12770, 13119, 13463, 13808, 14155, 14501, 14845,
                                    15196, 15543, 15885, 16233, 16577, 16927, 17274, 17621, 17971, 18315, 18660, 19006, 19354, 19696, 20048, 20390, 20739, 21085, 21430, 21779, 22124, 22470, 22814, 23165, 23509, 23855, 24207, 24550, 24898, 25244, 25590, 25937, 26281, 26628, 26975, 27323]]
    hit0 = 1
    data1 = [int(i*1.054) for i in [0, 1705, 1880, 2055, 2226, 2400, 2574, 2747, 2919, 3093, 3265, 3437, 3614, 3787, 3960, 4133, 4308, 4480, 4650, 4827, 4999, 5171, 5345, 5520, 5692, 5865, 6040, 6212, 6384, 6559, 6728, 6905, 7077, 7254, 7426,
                                    7599, 7771, 7943, 8117, 8290, 8460, 8638, 8811, 8984, 9156, 9330, 9504, 9674, 9849, 10024, 10199, 10369, 10545, 10716, 10888, 11062, 11235, 11406, 11581, 11756, 11927, 12102, 12278, 12450, 12619, 12796, 12968, 13141, 13313, 13488, 13664]]
    hit1 = 1
    CD = 8
    TP成长 = 0.10
    TP上限 = 7


class 技能7(主动技能):
    名称 = '追命'
    备注 = '背击'
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [50, 420]
    data0 = [int(i*1.055) for i in [0, 4320, 4756, 5198, 5636, 6074, 6508, 6950, 7387, 7824, 8263, 8703, 9140, 9578, 10018, 10457, 10890, 11330, 11767, 12211, 12648, 13087, 13525, 13962, 14403, 14838, 15276, 15715, 16152, 16591, 17028, 17471, 17906, 18345, 18785,
                                    19219, 19658, 20097, 20537, 20975, 21413, 21851, 22291, 22729, 23167, 23608, 24043, 24481, 24916, 25355, 25797, 26232, 26676, 27108, 27549, 27985, 28424, 28865, 29303, 29741, 30179, 30617, 31053, 31492, 31931, 32369, 32809, 33245, 33685, 34124, 34561]]
    hit0 = 1
    # 背击时增加50%
    倍率 = 1.5
    CD = 10
    TP成长 = 0.10
    TP上限 = 7


class 技能8(主动技能):
    名称 = '潜影刺击'
    备注 = '背击'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.053) for i in [0, 1327, 1462, 1598, 1729, 1867, 2002, 2135, 2269, 2406, 2538, 2675, 2809, 2943, 3078, 3212, 3345, 3482, 3619, 3751, 3885, 4023, 4155, 4291, 4428, 4562, 4695, 4830, 4966, 5100, 5235, 5370, 5504, 5640,
                                    5774, 5906, 6043, 6181, 6312, 6446, 6584, 6715, 6850, 6987, 7120, 7256, 7391, 7526, 7660, 7796, 7928, 8066, 8200, 8332, 8468, 8603, 8737, 8872, 9008, 9142, 9277, 9411, 9544, 9680, 9818, 9952, 10085, 10221, 10358, 10488, 10625]]
    hit0 = 2
    data1 = [int(i*1.053) for i in [0, 6374, 7022, 7666, 8313, 8963, 9610, 10253, 10905, 11552, 12198, 12844, 13491, 14140, 14784, 15431, 16079, 16727, 17371, 18019, 18666, 19314, 19958, 20605, 21254, 21898, 22546, 23193, 23841, 24487, 25133, 25780, 26428, 27075,
                                    27723, 28370, 29018, 29662, 30310, 30957, 31602, 32249, 32898, 33545, 34189, 34837, 35484, 36134, 36776, 37424, 38073, 38717, 39363, 40014, 40660, 41305, 41953, 42601, 43250, 43894, 44541, 45190, 45837, 46482, 47129, 47776, 48423, 49069, 49717, 50364, 51009]]
    hit1 = 1
    CD = 15
    TP成长 = 0.10
    TP上限 = 5

    MP = [126, 1058]
    无色消耗 = 1


class 技能9(主动技能):
    名称 = '刃舞'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.052) for i in [0, 326, 359, 396, 428, 463, 496, 527, 561, 598, 626, 662, 691, 727, 761, 796, 828, 862, 891, 927, 959, 995, 1029, 1062, 1093, 1128, 1162, 1192, 1228, 1262, 1292, 1327, 1362, 1391, 1429,
                                    1460, 1493, 1525, 1561, 1590, 1628, 1663, 1694, 1728, 1759, 1791, 1827, 1861, 1893, 1928, 1961, 1992, 2024, 2061, 2091, 2127, 2159, 2191, 2226, 2261, 2293, 2325, 2361, 2392, 2429, 2460, 2493, 2527, 2559, 2590, 2626]]
    hit0 = 8
    data1 = [int(i*1.052) for i in [0, 5580, 6145, 6712, 7278, 7844, 8410, 8977, 9539, 10104, 10670, 11235, 11802, 12370, 12936, 13500, 14067, 14633, 15199, 15763, 16333, 16898, 17464, 18029, 18596, 19165, 19726, 20292, 20860, 21426, 21990, 22559, 23124, 23689,
                                    24253, 24819, 25387, 25954, 26519, 27085, 27652, 28217, 28782, 29348, 29916, 30480, 31044, 31612, 32175, 32742, 33310, 33876, 34441, 35007, 35575, 36140, 36707, 37273, 37839, 38406, 38967, 39534, 40103, 40670, 41234, 41799, 42365, 42931, 43497, 44066, 44632]]
    hit1 = 1
    CD = 15
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [45, 850]
    无色消耗 = 1

    def 装备护石(self):
        self.hit0 = 8*2
        self.power0 = 0.62*1.3


class 技能10(主动技能):
    名称 = '影戮'
    备注 = '背击'
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.054) for i in [0, 2244, 2477, 2698, 2928, 3159, 3388, 3610, 3839, 4068, 4293, 4524, 4750, 4982, 5204, 5432, 5663, 5890, 6114, 6343, 6574, 6799, 7028, 7258, 7489, 7709, 7938, 8167, 8397, 8619, 8848, 9078, 9308, 9532, 9764, 9993,
                                    10215, 10442, 10671, 10903, 11123, 11354, 11584, 11813, 12034, 12268, 12497, 12719, 12947, 13178, 13407, 13631, 13860, 14088, 14319, 14539, 14772, 15001, 15224, 15451, 15684, 15912, 16137, 16365, 16595, 16827, 17048, 17276, 17506, 17728, 17957]]
    hit0 = 4
    data1 = [int(i*1.054) for i in [0, 8068, 8891, 9707, 10528, 11345, 12166, 12982, 13804, 14622, 15436, 16257, 17076, 17899, 18713, 19534, 20354, 21167, 21987, 22810, 23626, 24445, 25264, 26083, 26900, 27721, 28542, 29361, 30176, 30994, 31817, 32633, 33453, 34272,
                                    35086, 35908, 36726, 37547, 38364, 39183, 40002, 40818, 41638, 42460, 43280, 44093, 44913, 45734, 46549, 47370, 48191, 49009, 49826, 50645, 51464, 52283, 53101, 53920, 54739, 55557, 56375, 57199, 58014, 58835, 59652, 60472, 61290, 62110, 62928, 63744, 64565]]
    hit1 = 1
    CD = 25
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [150, 1260]
    无色消耗 = 1

    def 装备护石(self):
        self.hit0 = 4+3
        self.power0 = 0.74*1.26


class 技能11(主动技能):
    名称 = '瞬杀'
    备注 = '背击'
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.053) for i in [0, 29550, 32548, 35547, 38545, 41546, 44541, 47543, 50538, 53538, 56534, 59534, 62534, 65529, 68526, 71525, 74523, 77521, 80520, 83518, 86511, 89511, 92511, 95508, 98511, 101505, 104501, 107502, 110498, 113498, 116495, 119497, 122491, 125493, 128489, 131487,
                                    134487, 137484, 140483, 143475, 146476, 149474, 152472, 155472, 158471, 161464, 164465, 167463, 170462, 173459, 176460, 179454, 182459, 185453, 188449, 191451, 194447, 197441, 200441, 203441, 206440, 209437, 212438, 215435, 218430, 221428, 224426, 227423, 230424, 233419, 236418]]
    hit0 = 1
    CD = 45
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [250, 2500]
    无色消耗 = 2

    def 装备护石(self):
        self.倍率 *= 1.28


class 技能12(被动技能):
    名称 = '暗杀之心'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            if self.等级 <= 20:
                return round(1.03 + 0.02 * self.等级, 5)
            else:
                return round(1.43 + 0.021 * (self.等级 - 20), 5)


class 技能13(主动技能):
    名称 = '影斩·乱舞'
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.051) for i in [0, 1771, 2179, 2591, 2999, 3411, 3821, 4233, 4643, 5053, 5462, 5872, 6283, 6695, 7105, 7516, 7924, 8336, 8746, 9157, 9568, 9976, 10387, 10796, 11208, 11620, 12029, 12440, 12848, 13259, 13671, 14081, 14492, 14900, 15311,
                                    15722, 16132, 16544, 16955, 17363, 17773, 18183, 18595, 19005, 19417, 19827, 20237, 20646, 21057, 21468, 21879, 22288, 22700, 23108, 23520, 23932, 24341, 24751, 25161, 25573, 25981, 26392, 26804, 27212, 27624, 28036, 28444, 28855, 29266, 29675, 30086]]
    hit0 = 20
    data1 = [int(i*1.051) for i in [0, 27811, 34260, 40707, 47156, 53608, 60054, 66506, 72952, 79404, 85853, 92300, 98751, 105198, 111647, 118098, 124545, 130993, 137445, 143892, 150341, 156790, 163240, 169688, 176137, 182586, 189035, 195487, 201933, 208383, 214833, 221281, 227731, 234179, 240628,
                                    247078, 253526, 259974, 266425, 272873, 279321, 285771, 292219, 298669, 305118, 311566, 318016, 324465, 330914, 337364, 343810, 350262, 356711, 363160, 369606, 376059, 382507, 388954, 395405, 401854, 408301, 414752, 421199, 427648, 434099, 440546, 446996, 453445, 459893, 466343, 472791]]
    hit1 = 1
    CD = 145

    MP = [881, 7403]
    无色消耗 = 7

    # LV3级效果
    def 等效百分比(self, **argv):
        if self.等级 >= 3:
            self.power2 = 1.1
        return super().等效百分比(**argv)


class 技能14(主动技能):
    名称 = '绝命飞刃'
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.053) for i in [0, 1790, 1973, 2152, 2337, 2518, 2701, 2880, 3059, 3243, 3426, 3604, 3788, 3969, 4151, 4331, 4514, 4700, 4877, 5062, 5240, 5425, 5604, 5786, 5966, 6150, 6330, 6514, 6695, 6876, 7059, 7242, 7421, 7603, 7786,
                                    7965, 8149, 8327, 8510, 8693, 8873, 9055, 9237, 9418, 9602, 9782, 9962, 10146, 10328, 10510, 10689, 10868, 11054, 11235, 11416, 11596, 11780, 11962, 12143, 12323, 12511, 12688, 12867, 13050, 13235, 13417, 13598, 13778, 13961, 14140, 14324]]
    hit0 = 1
    data1 = [int(i*1.053) for i in [0, 7163, 7889, 8613, 9343, 10065, 10795, 11521, 12246, 12972, 13698, 14424, 15150, 15879, 16607, 17335, 18059, 18786, 19512, 20236, 20963, 21691, 22418, 23143, 23869, 24594, 25323, 26050, 26776, 27505, 28232, 28956, 29683, 30408,
                                    31134, 31864, 32589, 33319, 34041, 34767, 35493, 36220, 36947, 37674, 38399, 39131, 39853, 40581, 41306, 42034, 42760, 43485, 44211, 44939, 45663, 46391, 47118, 47845, 48574, 49296, 50026, 50752, 51477, 52203, 52932, 53658, 54383, 55109, 55834, 56565, 57290]]
    hit1 = 1
    data2 = [int(i*1.053) for i in [0, 14324, 15775, 17229, 18680, 20135, 21588, 23039, 24490, 25945, 27400, 28849, 30306, 31759, 33212, 34663, 36119, 37570, 39026, 40477, 41930, 43382, 44833, 46285, 47741, 49196, 50643, 52098, 53555, 55006, 56457, 57913, 59363, 60820, 62271,
                                    63725, 65176, 66627, 68083, 69538, 70990, 72441, 73894, 75345, 76801, 78255, 79709, 81158, 82614, 84067, 85522, 86972, 88424, 89878, 91329, 92785, 94236, 95692, 97143, 98595, 100050, 101507, 102953, 104409, 105861, 107312, 108768, 110221, 111672, 113123, 114579]]
    hit2 = 1
    CD = 30
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [400, 1620]
    无色消耗 = 1

    def 装备护石(self):
        self.power2 = 1.58


class 技能15(主动技能):
    名称 = '八荒影杀'
    备注 = '背击'
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.052) for i in [0, 3159, 3479, 3801, 4124, 4444, 4765, 5084, 5406, 5727, 6048, 6366, 6684, 7008, 7327, 7651, 7969, 8288, 8611, 8933, 9253, 9572, 9893, 10213, 10535, 10858, 11175, 11498, 11817, 12139, 12461, 12780, 13099, 13422, 13739,
                                    14066, 14384, 14706, 15025, 15346, 15667, 15983, 16306, 16628, 16948, 17268, 17587, 17912, 18232, 18552, 18873, 19192, 19512, 19834, 20157, 20473, 20796, 21116, 21439, 21758, 22081, 22397, 22719, 23040, 23361, 23680, 24002, 24324, 24644, 24967, 25286]]
    hit0 = 1
    data1 = [int(i*1.052) for i in [0, 3159, 3479, 3801, 4124, 4444, 4765, 5084, 5406, 5727, 6048, 6366, 6684, 7008, 7327, 7651, 7969, 8288, 8611, 8933, 9253, 9572, 9893, 10213, 10535, 10858, 11175, 11498, 11817, 12139, 12461, 12780, 13099, 13422, 13739,
                                    14066, 14384, 14706, 15025, 15346, 15667, 15983, 16306, 16628, 16948, 17268, 17587, 17912, 18232, 18552, 18873, 19192, 19512, 19834, 20157, 20473, 20796, 21116, 21439, 21758, 22081, 22397, 22719, 23040, 23361, 23680, 24002, 24324, 24644, 24967, 25286]]
    hit1 = 8
    data2 = [int(i*1.052) for i in [0, 12642, 13924, 15209, 16487, 17772, 19057, 20336, 21620, 22902, 24185, 25469, 26748, 28033, 29315, 30595, 31881, 33163, 34444, 35728, 37008, 38293, 39575, 40857, 42140, 43426, 44705, 45989, 47272, 48552, 49837, 51122, 52401, 53685,
                                    54964, 56249, 57534, 58812, 60097, 61379, 62661, 63944, 65225, 66511, 67792, 69075, 70359, 71636, 72921, 74204, 75486, 76769, 78052, 79334, 80615, 81900, 83183, 84464, 85748, 87030, 88315, 89595, 90879, 92161, 93439, 94724, 96009, 97291, 98572, 99854, 101136]]
    hit2 = 1
    CD = 45.0
    # 倍率 = 1.11  # 不知道是什么
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [800, 1680]
    无色消耗 = 2

    def 装备护石(self):
        self.power0 = 2.50
        self.hit1 = 7
        self.power1 = 1.32*1.2  # 1.2为bug加成
        self.power2 = 1.32


class 技能16(主动技能):
    名称 = '死亡连舞'
    备注 = '背击'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.054) for i in [0, 3653, 4021, 4393, 4761, 5132, 5502, 5872, 6244, 6612, 6985, 7355, 7724, 8093, 8464, 8834, 9204, 9579, 9945, 10321, 10684, 11055, 11425, 11800, 12170, 12541, 12912, 13281, 13649, 14020, 14391, 14761, 15132, 15501, 15873,
                                    16240, 16614, 16981, 17355, 17724, 18095, 18464, 18834, 19204, 19575, 19949, 20315, 20688, 21056, 21432, 21797, 22169, 22539, 22909, 23277, 23651, 24022, 24390, 24763, 25131, 25501, 25872, 26242, 26613, 26983, 27354, 27723, 28092, 28464, 28835, 29204]]
    hit0 = 3
    data1 = [int(i*1.054) for i in [0, 21902, 24122, 26345, 28570, 30793, 33012, 35237, 37461, 39681, 41901, 44121, 46345, 48571, 50790, 53015, 55237, 57460, 59680, 61901, 64123, 66344, 68565, 70789, 73017, 75232, 77456, 79680, 81903, 84122, 86344, 88566, 90787, 93007, 95230, 97454,
                                    99682, 101901, 104122, 106345, 108565, 110785, 113009, 115232, 117451, 119674, 121901, 124124, 126343, 128565, 130785, 133010, 135229, 137451, 139672, 141898, 144119, 146344, 148564, 150787, 153006, 155230, 157451, 159671, 161897, 164118, 166341, 168561, 170782, 173008, 175230]]
    hit1 = 0
    data2 = [int(i*1.054) for i in [0, 43272, 47666, 52052, 56442, 60831, 65221, 69614, 74001, 78391, 82786, 87179, 91564, 95955, 100344, 104733, 109128, 113514, 117906, 122291, 126683, 131071, 135463, 139848, 144247, 148635, 153027, 157412, 161805, 166196, 170582, 174977, 179365, 183755, 188142,
                                    192533, 196923, 201309, 205700, 210094, 214490, 218881, 223268, 227656, 232045, 236436, 240828, 245214, 249608, 253991, 258386, 262772, 267163, 271555, 275949, 280342, 284729, 289119, 293505, 297899, 302287, 306677, 311068, 315459, 319847, 324232, 328625, 333017, 337404, 341799, 346193]]
    hit2 = 1
    CD = 40.0
    是否有护石 = 1

    MP = [580, 4500]
    无色消耗 = 3

    形态 = ["非抓", "抓取"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if '死亡连舞' in char.护石栏:
            形态 = '非抓'
        if 形态 == "非抓":
            self.hit0 = 3
            self.hit1 = 0
            self.hit2 = 1
        if 形态 == "抓取":
            self.hit0 = 6
            self.hit1 = 2
            self.hit2 = 0

    # 装备护石后总是非抓模式
    def 装备护石(self):
        self.hit0 = 3
        self.hit1 = 0
        self.hit2 = 1
        self.power2 = 1.4
        self.CDR *= 0.9


class 技能17(被动技能):
    名称 = '潜行暗杀'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能18(主动技能):
    名称 = '剜心'
    备注 = '背击'
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.052) for i in [0, 93260, 102719, 112182, 121639, 131103, 140565, 150029, 159488, 168945, 178411, 187870, 197334, 206798, 216259, 225716, 235181, 244638, 254103, 263563, 273023, 282485, 291944, 301408, 310870, 320326, 329789, 339251, 348712, 358175, 367637, 377095, 386556, 396018,
                                    405480, 414940, 424404, 433864, 443326, 452789, 462251, 471709, 481171, 490632, 500094, 509552, 519013, 528476, 537935, 547400, 556861, 566319, 575783, 585244, 594708, 604171, 613626, 623088, 632551, 642013, 651476, 660933, 670392, 679857, 689317, 698779, 708239, 717700, 727160, 736627, 746085]]
    hit0 = 1
    CD = 45
    是否有护石 = 1

    MP = [800, 6000]
    无色消耗 = 5

    def 装备护石(self):
        self.倍率 = 1.24


class 技能19(主动技能):
    名称 = '幽冥链狱：索命'
    备注 = '终结'
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.052) for i in [0, 3495, 3850, 4204, 4559, 4915, 5270, 5624, 5978, 6334, 6688, 7043, 7397, 7752, 8106, 8462, 8816, 9170, 9525, 9879, 10234, 10588, 10944, 11298, 11654, 12008, 12364, 12718, 13072, 13427, 13781, 14137, 14491, 14846, 15200,
                                    15555, 15909, 16263, 16619, 16973, 17328, 17682, 18037, 18393, 18748, 19102, 19457, 19811, 20166, 20521, 20875, 21230, 21584, 21940, 22294, 22649, 23003, 23357, 23712, 24066, 24422, 24776, 25132, 25486, 25842, 26196, 26551, 26905, 27259, 27614, 27969]]
    hit0 = 1
    data1 = [int(i*1.052) for i in [0, 5925, 7302, 8677, 10051, 11419, 12798, 14171, 15540, 16918, 18291, 19667, 21041, 22414, 23788, 25163, 26539, 27908, 29286, 30659, 32034, 33408, 34782, 36157, 37530, 38902, 40282, 41656, 43024, 44402, 45774, 47149, 48523, 49897,
                                    51271, 52644, 54022, 55396, 56770, 58139, 59512, 60890, 62260, 63635, 65013, 66386, 67759, 69134, 70507, 71882, 73254, 74629, 76002, 77380, 78753, 80126, 81502, 82877, 84249, 85624, 86994, 88376, 89745, 91118, 92495, 93868, 95242, 96616, 97990, 99363, 100740]]
    hit1 = 0
    data2 = [int(i*1.052) for i in [0, 130362, 160598, 190829, 221056, 251286, 281515, 311747, 341980, 372206, 402438, 432670, 462899, 493129, 523357, 553591, 583823, 614049, 644277, 674506, 704740, 734969, 765200, 795429, 825656, 855892, 886121, 916349, 946581, 976810, 1007044, 1037273, 1067503, 1097732, 1127962, 1158192,
                                    1188421, 1218651, 1248882, 1279115, 1309342, 1339574, 1369804, 1400034, 1430264, 1460492, 1490723, 1520957, 1551185, 1581416, 1611647, 1641876, 1672103, 1702335, 1732570, 1762797, 1793026, 1823257, 1853485, 1883719, 1913947, 1944177, 1974407, 2004634, 2034871, 2065100, 2095328, 2125556, 2155789, 2186020, 2216247]]
    hit2 = 0
    data3 = [int(i*1.052) for i in [0, 134975, 166271, 197573, 228868, 260166, 291464, 322769, 354064, 385360, 416660, 447960, 479262, 510556, 541852, 573156, 604451, 635747, 667042, 698349, 729644, 760944, 792242, 823539, 854837, 886135, 917438, 948737, 980032, 1011332, 1042630, 1073927, 1105230, 1136525, 1167827, 1199122,
                                    1230421, 1261721, 1293018, 1324316, 1355617, 1386915, 1418208, 1449506, 1480808, 1512110, 1543405, 1574705, 1606001, 1637300, 1668602, 1699898, 1731198, 1762494, 1793794, 1825092, 1856389, 1887689, 1918989, 1950286, 1981586, 2012882, 2044184, 2075481, 2106777, 2138078, 2169378, 2200669, 2231974, 2263274, 2294572]]
    hit3 = 1
    CD = 180

    MP = [2500, 5000]
    无色消耗 = 10

    形态 = ["非抓", "抓取"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "非抓":
            self.hit0 = 1
            self.hit1 = 0
            self.hit2 = 0
            self.hit3 = 1
        if 形态 == "抓取":
            self.hit0 = 1
            self.hit1 = 4
            self.hit2 = 1
            self.hit3 = 0


class 技能20(主动技能):
    名称 = '锁链'
    所在等级 = 85
    等级上限 = 1
    #学习间隔 = 5
    #等级精通 = 40
    基础等级 = 1
    MP = [0, 0]
    data0 = [int(i*1.052) for i in [0, 3495, 3850, 4204, 4559, 4915, 5270, 5624, 5978, 6334, 6688, 7043, 7397, 7752, 8106, 8462, 8816, 9170, 9525, 9879, 10234, 10588, 10944, 11298, 11654, 12008, 12364, 12718, 13072, 13427, 13781, 14137, 14491, 14846, 15200,
                                    15555, 15909, 16263, 16619, 16973, 17328, 17682, 18037, 18393, 18748, 19102, 19457, 19811, 20166, 20521, 20875, 21230, 21584, 21940, 22294, 22649, 23003, 23357, 23712, 24066, 24422, 24776, 25132, 25486, 25842, 26196, 26551, 26905, 27259, 27614, 27969]]
    hit0 = 1
    data1 = [int(i*1.052) for i in [0, 13983, 15402, 16821, 18238, 19657, 21075, 22494, 23913, 25332, 26750, 28169, 29588, 31007, 32424, 33843, 35262, 36680, 38100, 39518, 40936, 42355, 43774, 45193, 46610, 48029, 49448, 50868, 52286, 53704, 55123, 56541, 57960, 59377,
                                    60796, 62215, 63634, 65054, 66471, 67890, 69309, 70727, 72146, 73564, 74982, 76401, 77821, 79240, 80657, 82076, 83495, 84913, 86332, 87750, 89168, 90588, 92007, 93426, 94843, 96262, 97681, 99099, 100518, 101936, 103356, 104774, 106193, 107612, 109029, 110448, 111867]]
    hit1 = 1
    CD = 1


class 技能21(主动技能):
    名称 = '影缚追魂锁'
    备注 = '背击'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.054) for i in [0, 7413, 8165, 8918, 9670, 10422, 11174, 11926, 12678, 13431, 14183, 14936, 15687, 16439, 17191, 17944, 18696, 19447, 20200, 20952, 21705, 22457, 23208, 23961, 24713, 25465, 26218, 26969, 27721, 28474, 29226, 29978, 30730, 31482,
                                    32234, 32987, 33739, 34492, 35243, 35995, 36747, 37500, 38252, 39003, 39756, 40508, 41261, 42013, 42764, 43517, 44269, 45021, 45774, 46525, 47277, 48030, 48782, 49534, 50286, 51038, 51790, 52543, 53295, 54046, 54799, 55551, 56303, 57056, 57808, 58559, 59312]]
    hit0 = 4
    data1 = [int(i*1.054) for i in [0, 118625, 130659, 142694, 154727, 166762, 178796, 190831, 202865, 214900, 226935, 238969, 251004, 263038, 275073, 287106, 299141, 311175, 323210, 335244, 347279, 359313, 371348, 383382, 395417, 407452, 419485, 431519, 443554, 455588, 467623, 479658, 491692, 503727,
                                    515761, 527796, 539830, 551865, 563898, 575933, 587967, 600002, 612036, 624071, 636105, 648140, 660175, 672209, 684244, 696277, 708311, 720346, 732381, 744415, 756450, 768484, 780519, 792553, 804588, 816622, 828656, 840690, 852725, 864759, 876794, 888828, 900863, 912898, 924932, 936967, 949001]]
    hit1 = 1
    CD = 60.0

    MP = [800, 6000]
    无色消耗 = 7


class 技能22(被动技能):
    名称 = '暗影禁忌'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能23(主动技能):
    名称 = '无间影狱·噬灭'
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.050) for i in [0, 13044, 16069, 19093, 22118, 25142, 28168, 31193, 34217, 37242, 40266, 43292, 46316, 49341, 52366, 55390, 58415, 61440, 64465, 67490, 70514, 73539, 76564, 79589, 82614, 85638, 88663, 91687, 94713, 97738, 100762, 103787, 106811, 109837, 112861, 115886,
                                    118911, 121935, 124960, 127985, 131010, 134035, 137059, 140084, 143109, 146134, 149159, 152183, 155208, 158232, 161258, 164283, 167307, 170332, 173356, 176382, 179406, 182431, 185456, 188480, 191505, 194530, 197555, 200580, 203604, 206629, 209653, 212679, 215704, 218728, 221753]]
    hit0 = 3
    data1 = [int(i*1.050) for i in [0, 156531, 192829, 229126, 265423, 301720, 338018, 374315, 410612, 446909, 483206, 519503, 555802, 592099, 628396, 664693, 700990, 737287, 773585, 809882, 846179, 882476, 918773, 955070, 991369, 1027666, 1063963, 1100260, 1136557, 1172854, 1209152, 1245449, 1281746, 1318043, 1354340, 1390637,
                                    1426934, 1463233, 1499530, 1535827, 1572124, 1608421, 1644718, 1681016, 1717313, 1753610, 1789907, 1826204, 1862501, 1898800, 1935097, 1971394, 2007691, 2043988, 2080285, 2116583, 2152880, 2189177, 2225474, 2261771, 2298069, 2334367, 2370664, 2406961, 2443258, 2479555, 2515852, 2552149, 2588447, 2624744, 2661041]]
    hit1 = 1
    data2 = [int(i*1.050) for i in [0, 39132, 48207, 57280, 66355, 75429, 84504, 93579, 102652, 111727, 120801, 129876, 138949, 148024, 157098, 166173, 175246, 184321, 193396, 202470, 211545, 220618, 229693, 238767, 247842, 256915, 265990, 275064, 284139, 293213, 302287, 311362, 320436, 329511, 338584,
                                    347659, 356733, 365808, 374881, 383956, 393030, 402105, 411179, 420253, 429328, 438402, 447477, 456550, 465625, 474699, 483774, 492848, 501922, 510996, 520071, 529146, 538219, 547294, 556368, 565443, 574517, 583591, 592665, 601740, 610814, 619888, 628962, 638037, 647112, 656185, 665260]]
    hit2 = 3
    data3 = [int(i*1.050) for i in [0, 78265, 96414, 114562, 132711, 150859, 169009, 187158, 205306, 223455, 241603, 259752, 277900, 296049, 314197, 332346, 350494, 368643, 386793, 404941, 423090, 441238, 459387, 477535, 495684, 513832, 531981, 550129, 568278, 586426, 604576, 622725, 640873, 659022, 677170,
                                    695319, 713467, 731616, 749764, 767913, 786061, 804210, 822358, 840508, 858657, 876805, 894954, 913102, 931251, 949399, 967548, 985696, 1003845, 1021993, 1040142, 1058292, 1076440, 1094589, 1112737, 1130886, 1149034, 1167183, 1185331, 1203480, 1221628, 1239777, 1257925, 1276074, 1294224, 1312372, 1330521]]
    hit3 = 1
    CD = 290

    MP = [4028, 8056]
    无色消耗 = 15


class classChange(Character):
    def __init__(self):
        self.实际名称 = 'shadow_dancer'
        self.名称 = '隐夜·影舞者'
        self.角色 = '暗夜使者'

        self.职业 = '影舞者'
        self.武器选项 = ['匕首']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '匕首'
        self.防具类型 = '皮甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.03

        super().__init__()

    def 职业特殊计算(self):
        # 二觉解放等级绑定
        锁链 = self.get_skill_by_name('锁链')
        锁链.等级上限 = 50
        锁链.等级 = self.get_skill_by_name('幽冥链狱：索命').等级
